$(function() {
    
    var codigoInventario = $("#TicketInventarioId");
    var codigoProblema = $("#TicketProblemaId");
    var codigoTipo = $("#TicketTipoId");
    var boxInventario = codigoInventario.parent();
    var boxProblema = codigoProblema.parent();
    var selectTipo = codigoTipo.parent();
    var spanInfo = $("#info_inventario");
    var spanChange = $("#change_inventario");
    var spanLoad = $("#load_inventario");
    var spanLoading = $("#loading_inventario");
    
    boxProblema.hide();
    selectTipo.hide();
    spanLoading.hide();
    
    $("input[name='data[Ticket][tmp_tipo_inventario]']").change(function() {
        if (this.value == "I") {
            boxProblema.hide();
            boxInventario.show(200);
            spanLoad.show();
            codigoProblema.val("");
            codigoTipo.val("");
            selectTipo.hide();
            $("#menuSelection").html('<span class="ui-icon ui-icon-triangle-1-s"></span> Seleccione');
            codigoProblema.empty();
        }
        else {
            boxInventario.hide();
            boxProblema.show(200);
            codigoInventario.val("").attr("disabled", false);
            spanChange.hide();
            selectTipo.show(200);
            spanInfo.html("");
            codigoProblema.empty().append('<option value="">(seleccione un dispositivo)</option>');
        }
    });
    
    codigoTipo.change(function() {
        if (empty(codigoTipo.val())) {
            codigoProblema.empty().append('<option value="">(seleccione un dispositivo)</option>');
            return;
        }
        
        $.ajax({
            url: '/soporte/problemas/ajax_get_tipo/' + codigoTipo.val(),
            success: function(json) {
                codigoProblema.empty();
                var jdata = $.parseJSON(json);
                if (!empty(jdata)) {
                    codigoProblema.append('<option value=""></option>');
                    for (var key in jdata) {
                        codigoProblema.append('<option value="' + key + '">' + jdata[key] + '</option>');
                    }
                }
                else {
                    codigoProblema.append('<option value="">(no hay problemas disponibles)</option>');
                }
            }
        });
    });
    
    spanLoad.click(function() {
        spanInfo.html("");
        
        if (empty(codigoInventario.val())) {
            img = '<img src="/soporte/img/error.png" />';
            spanInfo.html(img + 'INGRESE UN VALOR NUMERICO');
            return;
        }
        
        spanLoad.hide();
        spanLoading.show();
        
        $.ajax({
            url: '/soporte/inventarios/ajax_info/' + codigoInventario.val(),
            success: function(json) {
                spanLoading.hide();
                codigoProblema.empty();
                var jdata = $.parseJSON(json);
                var img = "";
                if (jdata.status == "ok") {
                    img = '<img src="/soporte/img/ok.png" />';
                    spanChange.show();
                    codigoInventario.attr("disabled", true);
                    boxProblema.show(200);
                    var problemas = $.parseJSON(jdata.problemas);
                    if (!empty(problemas)) {
                        codigoProblema.append('<option value=""></option>');
                        for (var key in problemas) {
                            codigoProblema.append('<option value="' + key + '">' + problemas[key] + '</option>');
                        }
                    }
                    else {
                        codigoProblema.append('<option value="">(no hay problemas disponibles)</option>');
                    }
                    spanInfo.html(img + jdata.tipo + ' > ' + jdata.descripcion);
                }
                else {
                    img = '<img src="/soporte/img/error.png" />';
                    spanInfo.html(img + jdata.response);
                    spanLoad.show();
                }
            }
        });
    });
    
    spanChange.click(function() {
        boxProblema.hide();
        codigoProblema.empty();
        spanChange.hide();
        spanLoad.show();
        spanInfo.html("");
        codigoInventario.attr("disabled", false);
        codigoInventario.val("");
    });
       
});